Generally, network resources such as Internet protocol (IP) addresses are allocated by DHCP servers using one of three methods: (1) "automatic allocation"; (2) "dynamic allocation"; and (3) "manual allocation". In automatic allocation, a DHCP server assigns a permanent IP address to a user or subscriber terminal. In dynamic allocation, a DHCP server assigns an IP address to a user terminal for a limited period of time, or until the user explicitly relinquishes the address. In manual allocation, an IP address is assigned to a user terminal by a network administrator, and a DHCP server is merely used to convey the assigned address to the user. Conventional networks can use one or more of these methods, as determined by the policies of the network administrator.
However, none of these three methods of allocating IP addresses has proven fully satisfactory because of an inability to both ensure automatic, uninterrupted operation of a DHCP server while also maximizing flexibility in DHCP operation and service. In addition, a major function of a DHCP server is to balance the use of limited network resources so that all users will have an opportunity to gain access to the network. The above described IP allocation methods are inherently inefficient in providing such balancing of network use. For example, automatic allocation is inefficient because allocation of IP addresses is not based on actual use or need. Manual allocation is inefficient with respect to management of the network (manual allocation) because of the requisite human interaction. Finally, dynamic allocation is too conservative in IP allocation to truly support an "always-on" type network service, i.e., a network where users do not have to continually log-on and off to gain access to the desired network services.